package com.ruoyi.biz.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 火车出入场记录对象 biz_train_in_out_record
 * 
 * @author cc
 * @date 2025-11-15
 */
public class BizTrainInOutRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 部门id */
    private Long deptId;

    /** 图纸ID */
    private Long drawingId;

    /** 线路ID */
    private Long lineId;

    /** 线名称 */
    @Excel(name = "线名称")
    private String lineName;

    /** 线code */
    private String lineCode;

    /** 火车型号ID */
    private Long trainModelId;

    /** 图标ID */
    private Long iconId;

    /** 图标名称 */
    @Excel(name = "图标名称")
    private String iconName;

    /** 火车状态 */
    @Excel(name = "火车状态")
    private String trainStatus;

    /** 放置位置 */
    private String placement;

    /** 机车号 */
    @Excel(name = "机车号")
    private String trainNumber;

    /** 乘务员ID */
    private Long crewId;

    /** 乘务员工号 */
    private String crewWorkNumber;

    /** 乘务员姓名 */
    @Excel(name = "乘务员姓名")
    private String crewName;

    /** 确认员ID */
    private Long confirmerId;

    /** 确认员工号 */
    private String confirmerWorkNumber;

    /** 确认员姓名 */
    @Excel(name = "确认员姓名")
    private String confirmerName;

    /** 入站时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入站时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date entryTime;

    /** 出站时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出站时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date leaveTime;

    /** 审核通过时间 */
    private Date approvalTime;

    /** 预计离开时间 */
    private Date estimatedDepartureTime;

    /** 当前审核人ID */
    private Long currentApproverId;

    /** 当前审核人工号 */
    private String currentApproverWorkNumber;

    /** 当前审核人姓名 */
    private String currentApproverName;

    /** 描述信息 */
    @Excel(name = "描述信息")
    private String description;

    /** 标准参数 */
    private String standardParams;

    /** 自定义参数 */
    private String customParams;

    /** 扩展信息 */
    private String ext;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    public void setDrawingId(Long drawingId) 
    {
        this.drawingId = drawingId;
    }

    public Long getDrawingId() 
    {
        return drawingId;
    }

    public void setLineId(Long lineId) 
    {
        this.lineId = lineId;
    }

    public Long getLineId() 
    {
        return lineId;
    }

    public void setLineName(String lineName) 
    {
        this.lineName = lineName;
    }

    public String getLineName() 
    {
        return lineName;
    }

    public void setLineCode(String lineCode) 
    {
        this.lineCode = lineCode;
    }

    public String getLineCode() 
    {
        return lineCode;
    }

    public void setTrainModelId(Long trainModelId) 
    {
        this.trainModelId = trainModelId;
    }

    public Long getTrainModelId() 
    {
        return trainModelId;
    }

    public void setIconId(Long iconId) 
    {
        this.iconId = iconId;
    }

    public Long getIconId() 
    {
        return iconId;
    }

    public void setIconName(String iconName) 
    {
        this.iconName = iconName;
    }

    public String getIconName() 
    {
        return iconName;
    }

    public void setTrainStatus(String trainStatus) 
    {
        this.trainStatus = trainStatus;
    }

    public String getTrainStatus() 
    {
        return trainStatus;
    }

    public void setPlacement(String placement) 
    {
        this.placement = placement;
    }

    public String getPlacement() 
    {
        return placement;
    }

    public void setTrainNumber(String trainNumber) 
    {
        this.trainNumber = trainNumber;
    }

    public String getTrainNumber() 
    {
        return trainNumber;
    }

    public void setCrewId(Long crewId) 
    {
        this.crewId = crewId;
    }

    public Long getCrewId() 
    {
        return crewId;
    }

    public void setCrewWorkNumber(String crewWorkNumber) 
    {
        this.crewWorkNumber = crewWorkNumber;
    }

    public String getCrewWorkNumber() 
    {
        return crewWorkNumber;
    }

    public void setCrewName(String crewName) 
    {
        this.crewName = crewName;
    }

    public String getCrewName() 
    {
        return crewName;
    }

    public void setConfirmerId(Long confirmerId) 
    {
        this.confirmerId = confirmerId;
    }

    public Long getConfirmerId() 
    {
        return confirmerId;
    }

    public void setConfirmerWorkNumber(String confirmerWorkNumber) 
    {
        this.confirmerWorkNumber = confirmerWorkNumber;
    }

    public String getConfirmerWorkNumber() 
    {
        return confirmerWorkNumber;
    }

    public void setConfirmerName(String confirmerName) 
    {
        this.confirmerName = confirmerName;
    }

    public String getConfirmerName() 
    {
        return confirmerName;
    }

    public void setEntryTime(Date entryTime) 
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() 
    {
        return entryTime;
    }

    public void setLeaveTime(Date leaveTime) 
    {
        this.leaveTime = leaveTime;
    }

    public Date getLeaveTime() 
    {
        return leaveTime;
    }

    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }

    public void setEstimatedDepartureTime(Date estimatedDepartureTime) 
    {
        this.estimatedDepartureTime = estimatedDepartureTime;
    }

    public Date getEstimatedDepartureTime() 
    {
        return estimatedDepartureTime;
    }

    public void setCurrentApproverId(Long currentApproverId) 
    {
        this.currentApproverId = currentApproverId;
    }

    public Long getCurrentApproverId() 
    {
        return currentApproverId;
    }

    public void setCurrentApproverWorkNumber(String currentApproverWorkNumber) 
    {
        this.currentApproverWorkNumber = currentApproverWorkNumber;
    }

    public String getCurrentApproverWorkNumber() 
    {
        return currentApproverWorkNumber;
    }

    public void setCurrentApproverName(String currentApproverName) 
    {
        this.currentApproverName = currentApproverName;
    }

    public String getCurrentApproverName() 
    {
        return currentApproverName;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setStandardParams(String standardParams) 
    {
        this.standardParams = standardParams;
    }

    public String getStandardParams() 
    {
        return standardParams;
    }

    public void setCustomParams(String customParams) 
    {
        this.customParams = customParams;
    }

    public String getCustomParams() 
    {
        return customParams;
    }

    public void setExt(String ext) 
    {
        this.ext = ext;
    }

    public String getExt() 
    {
        return ext;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deptId", getDeptId())
            .append("drawingId", getDrawingId())
            .append("lineId", getLineId())
            .append("lineName", getLineName())
            .append("lineCode", getLineCode())
            .append("trainModelId", getTrainModelId())
            .append("iconId", getIconId())
            .append("iconName", getIconName())
            .append("trainStatus", getTrainStatus())
            .append("placement", getPlacement())
            .append("trainNumber", getTrainNumber())
            .append("crewId", getCrewId())
            .append("crewWorkNumber", getCrewWorkNumber())
            .append("crewName", getCrewName())
            .append("confirmerId", getConfirmerId())
            .append("confirmerWorkNumber", getConfirmerWorkNumber())
            .append("confirmerName", getConfirmerName())
            .append("entryTime", getEntryTime())
            .append("leaveTime", getLeaveTime())
            .append("approvalTime", getApprovalTime())
            .append("estimatedDepartureTime", getEstimatedDepartureTime())
            .append("currentApproverId", getCurrentApproverId())
            .append("currentApproverWorkNumber", getCurrentApproverWorkNumber())
            .append("currentApproverName", getCurrentApproverName())
            .append("description", getDescription())
            .append("standardParams", getStandardParams())
            .append("customParams", getCustomParams())
            .append("ext", getExt())
            .toString();
    }
}
